﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ComponentModel;
using Simhopp.Model;

namespace Simhopp.GUI
{
    public delegate void DelegateAddJudge(Judge judge);
    public delegate void DelegateRemoveJudge(Judge judge);
    public delegate void DelegateUpdateJudge(Judge judge);
    public delegate List<Judge> DelegateUpdateJudgeList();
    public delegate void DelegateUpdateCompleteJudgeList(List<Judge> completeJudgeList);
    public delegate void DelegateAddExistingJudge(Judge judge);

    interface InterfaceEditJudgesView
    {
        Competition PropCompetition { get; set; }
        event DelegateAddJudge EventAddJudge;
        event DelegateRemoveJudge EventRemoveJudge;
        event DelegateUpdateJudge EventUpdateJudge;
        event DelegateUpdateJudgeList EventUpdateJudgeList;
        event DelegateUpdateCompleteJudgeList EventUpdateCompleteJudgeList;
        event DelegateAddExistingJudge EventAddExistingJudge;
    }
}
